from typing import Dict, Tuple

MM_DISLINK_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = {
    0: "note.harp",
    1: "note.harp",
    2: "note.pling",
    3: "note.harp",
    4: "note.harp",
    5: "note.harp",
    6: "note.harp",
    7: "note.harp",
    8: "note.iron_xylophone",  # 打击乐器无音域
    9: "note.bell",
    10: "note.iron_xylophone",
    11: "note.iron_xylophone",
    12: "note.iron_xylophone",
    13: "note.iron_xylophone",
    14: "note.chime",
    15: "note.iron_xylophone",
    16: "note.harp",
    17: "note.harp",
    18: "note.harp",
    19: "note.harp",
    20: "note.harp",
    21: "note.harp",
    22: "note.harp",
    23: "note.harp",
    24: "note.guitar",
    25: "note.guitar",
    26: "note.guitar",
    27: "note.guitar",
    28: "note.guitar",
    29: "note.guitar",
    30: "note.guitar",
    31: "note.guitar",
    32: "note.bass",
    33: "note.bass",
    34: "note.bass",
    35: "note.bass",
    36: "note.bass",
    37: "note.bass",
    38: "note.bass",
    39: "note.bass",
    40: "note.harp",
    41: "note.flute",
    42: "note.flute",
    43: "note.flute",
    44: "note.flute",
    45: "note.harp",
    46: "note.harp",
    47: "note.harp",
    48: "note.harp",
    49: "note.harp",
    50: "note.harp",
    51: "note.harp",
    52: "note.harp",
    53: "note.harp",
    54: "note.harp",
    55: "note.harp",
    56: "note.harp",
    57: "note.harp",
    58: "note.harp",
    59: "note.harp",
    60: "note.harp",
    61: "note.harp",
    62: "note.harp",
    63: "note.harp",
    64: "note.harp",
    65: "note.harp",
    66: "note.harp",
    67: "note.harp",
    68: "note.harp",
    69: "note.harp",
    70: "note.harp",
    71: "note.harp",
    72: "note.flute",
    73: "note.flute",
    74: "note.flute",
    75: "note.flute",
    76: "note.flute",
    77: "note.flute",
    78: "note.flute",
    79: "note.flute",
    80: "note.bit",
    81: "note.bit",
    82: "note.harp",
    83: "note.harp",
    84: "note.harp",
    85: "note.harp",
    86: "note.harp",
    87: "note.harp",
    88: "note.harp",
    89: "note.harp",
    90: "note.harp",
    91: "note.harp",
    92: "note.harp",
    93: "note.harp",
    94: "note.harp",
    95: "note.harp",
    96: "note.harp",
    97: "note.harp",
    98: "note.harp",
    99: "note.harp",
    100: "note.harp",
    101: "note.harp",
    102: "note.harp",
    103: "note.harp",
    104: "note.harp",
    105: "note.banjo",
    106: "note.harp",
    107: "note.harp",
    108: "note.harp",
    109: "note.harp",
    110: "note.harp",
    111: "note.harp",
    112: "note.cow_bell",
    113: "note.harp",
    114: "note.harp",
    115: "note.bd",
    116: "note.bd",  # 打击乐器无音域
    117: "note.bd",
    118: "note.bd",
    119: "note.harp",  # 打击乐器无音域
    120: "note.harp",
    121: "note.harp",
    122: "note.harp",
    123: "note.harp",
    124: "note.harp",
    125: "note.harp",  # 打击乐器无音域
    126: "note.harp",  # 打击乐器无音域
    127: "note.harp",  # 打击乐器无音域
}
"""“断联”乐音乐器对照表"""
# 105 'note.banjo'
# 32,33,34,35,36,37,38,39 'note.bass'
# 115,116,117,118'note.basedrum'
# 9'note.bell'
# 80,81'note.bit'
# 112'note.cow_bell'
# 72,73,74,75,76,77,78,79,41,42,43,44'note.flute'
# 24,25,26,27,28,29,30,31'note.guitar'
# 14'note.chime'
# 8,9,10,11,12,13,/*14,*/15'note.iron_xylophone'
# 2'note.pling'
# 'note.harp'

MM_DISLINK_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = {
    34: "note.bd",
    35: "note.bd",
    36: "note.snare",
    37: "note.snare",
    38: "note.bd",
    39: "note.snare",
    40: "note.bd",
    41: "note.hat",
    42: "note.bd",
    43: "note.hat",
    44: "note.bd",
    45: "note.hat",
    46: "note.bd",
    47: "note.bd",
    48: "note.bd",
    49: "note.bd",
    50: "note.bd",
    51: "note.bd",
    52: "note.bd",
    53: "note.bd",
    54: "note.bd",
    55: "note.cow_bell",
    56: "note.bd",
    57: "note.bd",
    58: "note.bd",
    59: "note.bd",
    60: "note.bd",
    61: "note.bd",
    62: "note.bd",
    63: "note.bd",
    64: "note.bd",
    65: "note.bd",
    66: "note.bd",
    67: "note.bd",
    68: "note.bd",
    69: "note.bd",
    70: "note.bd",
    71: "note.bd",
    72: "note.bd",
    73: "note.bd",
    74: "note.bd",
    75: "note.bd",
    76: "note.bd",
    77: "note.bd",
    78: "note.bd",
    79: "note.bd",
    80: "note.bd",
}
"""“断联”打击乐器对照表"""
# 55'note.cow_bell'
# 41,43,45'note.hat'
# 36,37,39'note.snare'
# 'note.bd'

MM_HARP_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = {
    0: "note.harp",
    1: "note.harp",
    2: "note.harp",
    3: "note.harp",
    4: "note.harp",
    5: "note.harp",
    6: "note.harp",
    7: "note.harp",
    8: "note.harp",
    9: "note.harp",
    10: "note.harp",
    11: "note.harp",
    12: "note.harp",
    13: "note.harp",
    14: "note.harp",
    15: "note.harp",
    16: "note.harp",
    17: "note.harp",
    18: "note.harp",
    19: "note.harp",
    20: "note.harp",
    21: "note.harp",
    22: "note.harp",
    23: "note.harp",
    24: "note.harp",
    25: "note.harp",
    26: "note.harp",
    27: "note.harp",
    28: "note.harp",
    29: "note.harp",
    30: "note.harp",
    31: "note.harp",
    32: "note.harp",
    33: "note.harp",
    34: "note.harp",
    35: "note.harp",
    36: "note.harp",
    37: "note.harp",
    38: "note.harp",
    39: "note.harp",
    40: "note.harp",
    41: "note.harp",
    42: "note.harp",
    43: "note.harp",
    44: "note.harp",
    45: "note.harp",
    46: "note.harp",
    47: "note.harp",
    48: "note.harp",
    49: "note.harp",
    50: "note.harp",
    51: "note.harp",
    52: "note.harp",
    53: "note.harp",
    54: "note.harp",
    55: "note.harp",
    56: "note.harp",
    57: "note.harp",
    58: "note.harp",
    59: "note.harp",
    60: "note.harp",
    61: "note.harp",
    62: "note.harp",
    63: "note.harp",
    64: "note.harp",
    65: "note.harp",
    66: "note.harp",
    67: "note.harp",
    68: "note.harp",
    69: "note.harp",
    70: "note.harp",
    71: "note.harp",
    72: "note.harp",
    73: "note.harp",
    74: "note.harp",
    75: "note.harp",
    76: "note.harp",
    77: "note.harp",
    78: "note.harp",
    79: "note.harp",
    80: "note.harp",
    81: "note.harp",
    82: "note.harp",
    83: "note.harp",
    84: "note.harp",
    85: "note.harp",
    86: "note.harp",
    87: "note.harp",
    88: "note.harp",
    89: "note.harp",
    90: "note.harp",
    91: "note.harp",
    92: "note.harp",
    93: "note.harp",
    94: "note.harp",
    95: "note.harp",
    96: "note.harp",
    97: "note.harp",
    98: "note.harp",
    99: "note.harp",
    100: "note.harp",
    101: "note.harp",
    102: "note.harp",
    103: "note.harp",
    104: "note.harp",
    105: "note.harp",
    106: "note.harp",
    107: "note.harp",
    108: "note.harp",
    109: "note.harp",
    110: "note.harp",
    111: "note.harp",
    112: "note.harp",
    113: "note.harp",
    114: "note.harp",
    115: "note.harp",
    116: "note.harp",
    117: "note.harp",
    118: "note.harp",
    119: "note.harp",
    120: "note.harp",
    121: "note.harp",
    122: "note.harp",
    123: "note.harp",
    124: "note.harp",
    125: "note.harp",
    126: "note.harp",
    127: "note.harp",
}
"""“听个响（纯harp）”音乐乐器对照表"""

MM_HARP_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = {
    34: "note.harp",
    35: "note.harp",
    36: "note.harp",
    37: "note.harp",
    38: "note.harp",
    39: "note.harp",
    40: "note.harp",
    41: "note.harp",
    42: "note.harp",
    43: "note.harp",
    44: "note.harp",
    45: "note.harp",
    46: "note.harp",
    47: "note.harp",
    48: "note.harp",
    49: "note.harp",
    50: "note.harp",
    51: "note.harp",
    52: "note.harp",
    53: "note.harp",
    54: "note.harp",
    55: "note.harp",
    56: "note.harp",
    57: "note.harp",
    58: "note.harp",
    59: "note.harp",
    60: "note.harp",
    61: "note.harp",
    62: "note.harp",
    63: "note.harp",
    64: "note.harp",
    65: "note.harp",
    66: "note.harp",
    67: "note.harp",
    68: "note.harp",
    69: "note.harp",
    70: "note.harp",
    71: "note.harp",
    72: "note.harp",
    73: "note.harp",
    74: "note.harp",
    75: "note.harp",
    76: "note.harp",
    77: "note.harp",
    78: "note.harp",
    79: "note.harp",
    80: "note.harp",
}
"""“听个响（纯harp）”打击乐器对照表"""
